home *** CD-ROM | disk | FTP | other *** search
- Path: cs.uwa.edu.au!jasonb
- From: jasonb@cs.uwa.edu.au (Jason S Birch)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: Amiga programmers in deep shit...
- Date: 12 Jan 96 01:35:52 GMT
- Organization: The University of Western Australia
- Message-ID: <jasonb.821410552@cs.uwa.edu.au>
- References: <4bsgo0$3sg@bagan.srce.hr> <2317.6571T521T1370@rhein-neckar.de> <45915670@data.franken.de> <jasonb.820810317@cs.uwa.edu.au> <45915679@data.franken.de>
- NNTP-Posting-Host: decadence.cs.uwa.oz.au
- X-Newsreader: NN version 6.5.0 #3 (NOV)
-
- "Walter Doerwald" <walter@data.franken.de> writes:
- >> As for GCC's usefulness, I suspect the errors
- >> you've given indicate a lack of resources on your machine to run it
-
- >I have 2MB chip and 16MB fast, so IMHO there should be no problem.
-
- Well, that, of course, depends on how much RAM it needs. :-) Have you
- checked how much it's using under NT?
-
- >It compiles fine with GCC 2.7.2 under DEC/Ultrix and with Borland C++ 4.5
- >under Windows NT (BTW, it takes two minutes to compile under WNT)
-
- I did some tests a few weeks ago comparing the relative cost of using
- C++ to C under various compilers and OS's. With SAS/C is was *very*
- expensive (time, memory, and final object size), while with Visual C++
- 2.0 under NT it was minimal (and the final object size was only a few
- k larger than the Amiga C++ binary!). Still, given my opinions of C++,
- it's no great loss to me.
-
- >> which says it's not useable on *your*
- >> Amiga, as opposed to "the" Amiga.
-
- >So I'll need to buy another 8 or 16MB of memory (and something to put the
- >memory on since the motherboard ist full)
-
- If necessary, yes. gcc's a real memory hog, so if you've got a large
- program I guess there are not many options. How much memory does your NT
- box have? Subtract 20M from the "committed bytes" during a compile,
- and that should give you an idea of how much you'll need.
-
- >I've even tried VMM, it works, but it takes more than 24 hours and 1.2
- >million pagefaults. :'-( Hardly an environment to do software development.
-
- Agreed.
-
- >> ALSt304.lzh dev/lang 380K 73+Amiga Little Smalltalk version 3.04
- >> SmallTalk.lha dev/lang 227K 428+Port of the Little Smalltalk system.
- >> smalltlk.lha dev/lang 362K 18+Amiga Little Smalltalk version 3.09
-
- >I know Little Smalltalk (I've done the V40-guide ;))
-
- :-)
-
- >But Little Smalltalk (developed by Timothy Budd) is *not* Smalltalk80
- >(developed by ParcPlace/Digitalk).
-
- I know - I did my CS honours project in Smalltalk/V for Windows, by
- Digitalk. It even runs fast on a Pentium. ;-)
-
- >Little Smalltalk is much more limited.
- >E.g. Smalltalk80 supports catagories, i.e. you can put your classes into
- >different categories (e.g. one catagories for each project). This works for
- >methods too, etc. etc. Smalltalk80 has GUI-classes (but hopefully we'll
- >have (MUI) GUI classes for ALSt too)
-
- It would be nice. Smalltalk's one of my favourite languages.
-
- >> I seem to recall a text-only SmallTalk80 from years ago, but I don't
- >> know where it is (it might have been a generic Unix program).
-
- >This was probably the first version of Little Smalltalk from FishDisk 1(?).
-
- I don't recall. It was a while back. I *did* think it was Smalltalk80,
- though, but I can't remember why.
-
- >> None of
- >> these have very many custom classes, however, which limits their
- >> current usefulness for application design.
-
- >Especially the nonexistent GUI classes.
-
- Yes.
-
- >> I haven't used it for a long time, but it has a few neat features -
- >> exception handling, built-in lists, and I believe now
- >> object-orientation.
-
- >Exception handling in what way? The way C++ does it? (Calling destructors
- >when throwing an exception)
-
- Apparently it does exceptions the same way ADA does (that's what the
- docs claim - I personally have no experience with ADA). You can, for
- example, do something like: (taken from the docs)
-
- CONST SIZE=100000
- ENUM NOMEM /* ,... */
-
- RAISE NOMEM IF AllocMem()=NIL
-
- PROC main()
- alloc()
- ENDPROC
-
- PROC alloc() HANDLE
- DEF mem
- mem:=AllocMem(SIZE,0) /* see how many blocks we can get */
- alloc() /* do recursion */
- EXCEPT DO
- IF mem THEN FreeMem(mem,SIZE)
- ReThrow() /* recursively call all handlers */
- ENDPROC
-
- >What does built-in lists mean? Has E features to define new types, and the
- >lists are part of the standard library? Or are they hard wired?
-
- It seems lists are hard wired, but they come with a full set of support
- functions for appending, etc. However, E can define new types, and
- also has LISP cells, interestingly enough, with Car, Cdr, and automatic
- garbage collection. (I'm scanning through the docs having just ftp'd
- the archive. It seems quite neat.)
-
- >OO? This probably means it's possible to define new types. Does E
- >distinguish between inheritance of interface and inheritance of
- >implementation?
-
- It's a little hard to tell from the quick glance I've given it. If you
- want to take a look, grab aminet:dev/e/amigae32a.lha.
-
- >I suppose E gives you crashes, when putting the wrong type into variables.
-
- I suppose only if you then use those variables incorrectly. :-) I
- mean, given it's a type-free language, it could hardly get too upset
- if you put different types into a variable. Naturally enough, however,
- if you use incorrect types in function calls, it could crash. Shame,
- really - it seems rather cool apart from that.
-
- >Bye...
- > Walter Doerwald
-
- --
- Jason S Birch ,-_|\ email: jasonb@cs.uwa.edu.au
- Department of Computer Science / \ Tel (work): +61 9 380 1840
- The University of Western Australia *_.-._/ Fax (work): +61 9 380 1089
- Nedlands W. Australia 6907 v Tel (home): +61 9 386 8630
-